home *** CD-ROM | disk | FTP | other *** search
- package sun.awt;
-
- public class AWTFinalizer extends Thread {
- static AWTFinalizer theFinalizer = new AWTFinalizer();
- static AWTFinalizeable theFinalQueue;
-
- static {
- theFinalizer.start();
- }
-
- private AWTFinalizer() {
- super("AWT-Finalizer");
- ((Thread)this).setPriority(9);
- ((Thread)this).setDaemon(true);
- }
-
- public static void addFinalizeable(AWTFinalizeable o) {
- synchronized(theFinalizer){}
-
- try {
- o.setNextFinalizeable(theFinalQueue);
- theFinalQueue = o;
- theFinalizer.notify();
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
-
- public void run() {
- while(true) {
- synchronized(this){}
-
- AWTFinalizeable q;
- try {
- while((q = theFinalQueue) == null) {
- try {
- this.wait();
- } catch (InterruptedException var5) {
- }
- }
-
- theFinalQueue = null;
- } catch (Throwable var6) {
- throw var6;
- }
-
- while(q != null) {
- q.doFinalization();
- q = q.getNextFinalizeable();
- }
- }
- }
- }
-